1. Field of the Invention
The invention relates to color management systems, and more particularly relates to generating customized device profiles for use with a plugin device model in a measurement-based color management system.
2. Description of the Related Art
One central concept in color management is the need for accurate device characterization, i.e., characterization of a color input or output device in terms of its color behavior. For use by color management systems, the device's color characteristics are encapsulated together with other information in a “device profile”. Currently known types of device profiles include older-style transform-based device profiles and newer-style measurement-based profiles.
An example of a transform-based device profile is typified by International Color Consortium (ICC) color management systems (CMS) which utilize transform-based color profiles for the conversion of color image data between device-dependent and device-independent color spaces. Such color profiles are often created by a hardware manufacturer of a target color device. These color profiles are typically created by a color profiler device. The color profiler device might be a general-purpose computer interfaced to the target color device as well as color measurement devices (e.g., a calorimeter), and executing a color profiler program.
In the case of an output device (e.g., a printer or display), the color profiling device creates color profiles by displaying or printing a sample set of controlled device signals (i.e., a “target”), and measuring the calorimetric values of the displayed or printed output. The sample set of device signals, and measured calorimetric values, are used to generate a color profile for the device.
In the case of capture devices (e.g., scanners and digital cameras), an image of a known color target is captured. Suitable targets include a Gretag-Macbeth color checker chart. Device signals that the capture device reports for a given color patch from the color target and the measured calorimetric value for that color patch are used to generate a color profile for the device.
More recently, measurement-based color management systems (MBCMS) have been developed that use measurement-based profiles. Unlike transform-based profiles which contain transforms for converting between device colors and calorimetric values (i.e., device independent values), measurement-based profiles contain measured color values. Measurement-based CMSs use device models to convert between device colors and calorimetric values using measurement-based profiles. Device models are software modules that receive information contained in measurement-based profiles, and provide color conversion via a standardized programming interface.
These MBCMSs often have a workflow such as that depicted in FIG. 1. As seen there, device models use information contained within device profiles to convert colors from a source device's color space to a destination device's color space. Source device model 10 uses source device profile 50 to convert source device colors (colorants) 1 to source device calorimetric values 12 in a device independent color space (e.g., the CIEXYZ color space). Source device calorimetric values 12 are then converted to appearance values 22 (e.g., in the CIECAM02 JCh color appearance space) by color appearance model 20, which uses an appearance model profile for source device viewing conditions (i.e., 60) to perform the conversion.
In order to properly model the behavior of a device, the device model (e.g., 10) is initialized with measurement information obtained from the device model profile (e.g., 50). The format of the information in the profile is specific to the implementation and can take the form of binary formatted data, such as in an ICC profile, text formatted data, or XML formatted data. The information used by the device model during the initialization process can be processed directly by the device model itself or the information can be obtained from the profile by a separate routine and provided to the device model in a standardized manner. For example, if the measurement profile is stored in an XML format using a schema, the information can be obtained by the device model using the XML DOM (data object model) process. Because the specific information required by the device model will vary from device type to device type, the actual measurement file contents will vary as well.
Gamut mapping model 40 then uses a gamut boundary description for the source device (i.e., 30) and a gamut boundary description for the destination device (i.e., 31) to convert source device color appearance values 22 to destination device color appearance values 23.
Next, destination device color appearance values 23 are converted to destination device calorimetric values 13 by color appearance model 21, which uses an appearance model profile for destination device viewing conditions (i.e., 61) to perform an inverse conversion. Finally, destination device model 11 uses destination device profile 51 to convert destination device calorimetric values 13 to destination device colors (colorants) 2.
The device models (e.g., 10 and 11) work hand-in-hand with the device profiles (e.g., 50 and 51), in the sense that the device models expect to be able to find specific information, required by the device model, inside the device profile.
Typical MBCMSs support both baseline device models and plugin device models. The baseline device models are typically provided as a default by the MBCMS, and each models the general behavior common to a particular class of devices. Examples of baseline models include CRT, LCD, ICC virtual device, RGB virtual device, RGB capture device, RGB projector, RGB printer, and CMYK printer device models. A general purpose profiler may be used to generate measurement-based profiles for devices modeled by the baseline device models.
A plugin device model, as opposed to a baseline model, departs from a baseline model and is tailored to specific behavior of the modeled device. Often, the plugin model is created by the device vendor, to take advantage of the behavior of the device that is understood by the vendor. When used with a customized measurement-based device profile that provides additional information about the device (beyond information typically included in a profile and expected by a baseline device model), the plugin device model provides the MBCMS with a more accurate model of the device's behavior.